package file;

import com.sun.media.jfxmediaimpl.HostUtils;

import java.io.File;
import java.io.FileFilter;

/**
 * 重载的listFiles方法可以传入一个文件过滤器,然后只将该目录中符合过滤器要求的子项返回;
 */
public class Test2 {
    public static void main(String[] args) {
        //获取当前目录中所有名字以"."开始的子项
        File dir=new File(".");
        if(dir.isDirectory()){
            FileFilter filter=new FileFilter(){
                /*
                实现文件过滤器接口时,必须重写方法accept.这个方法就是过滤方法
                将参数file看做是要过滤的子项,当该子项符合过滤要求需要保留时则
                accept方法应当返回true,否则返回false
                 */
                public boolean accept(File file) {
                    String name=file.getName();//获取要过滤的该项内容的名字

                    return name.contains("a");//return name.indexOf("a")>=0;
                }
            };
            File[] subs=dir.listFiles(filter);
            System.out.println("当前目录中满足条件的子项有:"+subs.length+"个");
            for(int i=0;i<subs.length;i++){
                File sub =subs[i];
                System.out.println(sub.getName());
            }
        }
    }
}
